%\subsection{ Our project setup}
For this project we made use of an already existing implementation of the game platform in Java\footnote{The source for the existing implementation: \url{https://code.google.com/p/javabomber/}}. This game was mostly multiplayer oriented, it did have an AI implementation which was however, too simplistic.
Initially we made some alterations to the given project in order to organize the source code in a way that makes more sense. Some of the steps we took in favor of refactoring the code were the following:
\begin{itemize}
\item Pulled up a `Map' class. This enabled us to organize the path finding algorithms we used in robust fashion.
\item Created a `GenericAI' abstract class containing important methods and variables. Here are the methods that are used by all AI implementations. This class is extended by any AI implementation we made.
\item Created a `Cell' class  representative of a cell of the Map.
\end{itemize}
In order to create, test and benchmark the different AI's, a great amount of alterations were done
to the game's menu and the underlying main class. Eventually two AI classes were
created, respectively called the `SimpleAI' class for the Kill-First-AI, and the
`MapClearAI' for the Upgrade-First-AI.


